using System;

namespace SharpMud.MudLib.SAMPLE.Environment
{
	/// <summary>
	/// The list of the standard exit directions. Uses ExitDirectionKeywordsAttribute to designate
	/// what the action keywords are for the different values. Uses ReverseExitDirectionAttribute to
	/// designate what the reverse directions are.
	/// </summary>
	public enum ExitDirection
	{
		[ExitDirectionKeywords("north","n")]
		[ReverseExitDirection(ExitDirection.South)]
		North,

		[ExitDirectionKeywords("east","e")]
		[ReverseExitDirection(ExitDirection.West)]
		East,

		[ExitDirectionKeywords("south","s")]
		[ReverseExitDirection(ExitDirection.North)]
		South,

		[ExitDirectionKeywords("west","w")]
		[ReverseExitDirection(ExitDirection.East)]
		West,

		[ExitDirectionKeywords("northeast","ne")]
		[ReverseExitDirection(ExitDirection.Southwest)]
		Northeast,

		[ExitDirectionKeywords("northwest","nw")]
		[ReverseExitDirection(ExitDirection.Southeast)]
		Northwest,

		[ExitDirectionKeywords("southeast","se")]
		[ReverseExitDirection(ExitDirection.Northwest)]
		Southeast,

		[ExitDirectionKeywords("southwest","sw")]
		[ReverseExitDirection(ExitDirection.Northeast)]
		Southwest,

		[ExitDirectionKeywords("up","u")]
		[ReverseExitDirection(ExitDirection.Down)]
		Up,

		[ExitDirectionKeywords("down","d")]
		[ReverseExitDirection(ExitDirection.Up)]
		Down
	}
}
